package com.wonders.hisdoctor.station.project.record.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * Description:
 *
 * @author tong-aj
 * <p
 * Create: 2021-01-22 15:57
 */
@ApiModel("病历详情Vo")
@Data
public class OutpMrVo implements Serializable {

    @ApiModelProperty("病人标识号")
    @NotBlank(message = "病人标识号不能为空")
    private String patientId;

    @ApiModelProperty("就诊时间")
    @NotNull(message = "就诊时间不能为空")
    @DateTimeFormat(pattern = "yyyy/MM/dd")
    @JsonFormat(pattern = "yyyy/MM/dd")
    private Date visitDate;

    @ApiModelProperty("就诊序号")
    @NotNull(message = "就诊序号不能为空")
    private Integer visitNo;

    @ApiModelProperty("主诉")
    private String illnessDesc;

    @ApiModelProperty("既往史")
    private String anamnesis;

    @ApiModelProperty("现病史")
    private String medHistory;

    @ApiModelProperty("医生：就诊医生名称")
    private String doctor;

    @ApiModelProperty("病历创建者")
    private String mrCreator;

    @ApiModelProperty("本次病历序号：每次就诊时的可能会产生多个病历")
    private Integer ordinal;

    @ApiModelProperty("诊断代码")
    private String diagnosisCode;

    @ApiModelProperty("诊断")
    private String diagDesc;

    @ApiModelProperty("中医诊断代码")
    @Length(max = 100,message = "中医诊断过长，请重新选择")
    private String tmDiagCode;

    @ApiModelProperty("中医诊断名称")
    private String tmDiagDesc;

    @ApiModelProperty("中医诊断证型代码")
    @Length(max = 100,message = "证型过长，请重新选择")
    private String tmTypeCode;

    @ApiModelProperty("中医诊断证型名称")
    private String tmTypeDesc;

    @ApiModelProperty("既往史")
    private String individual;

    @ApiModelProperty("查体")
    private String bodyExam;

    @ApiModelProperty("嘱咐")
    private String advice;
}
